#ifndef ___PLAYER_SCENE_PROGRESS_DATA__
#define ___PLAYER_SCENE_PROGRESS_DATA__

#include "Data/Flags.h"

//
//	scene progress in a disctrict
//
class ProgressDistrict : public stdext::hash_map<char, char>
{
public:
	ProgressDistrict();
	char get(const char& sid);
	bool get(const char& sid, char& data);
	bool set(const char& sid, const char& data);
protected:
};

//
//	progress in whole world
//
class Progress
{
public:
	Progress();
	
	ProgressDistrict*	get(const char& cid, const char& did);
	ProgressDistrict*	add(const char& cid, const char& did);
	void				rmv(const char& cid, const char& did);
	//
	//
	bool				set(const char& cid, const char& did, const char& sid, const char& data);
protected:
	typedef stdext::hash_map<short, ProgressDistrict>	ProgressMap;
	ProgressMap	m_flgsMap;
};


#endif

